package com.example.cfhkmanageapi.entity;

import java.util.ArrayList;
import java.util.List;

public class EmployeeVO implements Cloneable {
    private Integer userId;
    private String empId;
    private String empNo;
    private String empName;
    private String password;
    private String deptId;
    private String deptName;
    private String tel;
    private String email;
    private String status;
    private Boolean flagDeleted;
    private Integer showMessage;
    private Integer projectManage;
    private Long joinDate;
    private Integer modifyArea;
    private Boolean projectFollow;
    private String roleId;
    private String grade;
    private List<MenuEntity> menus = new ArrayList<>();

    public List<MenuEntity> getMenus() {
        return menus;
    }

    public void setMenus(List<MenuEntity> menus) {
        this.menus = menus;
    }

    public String getGrade() {
        return grade;
    }

    public void setGrade(String grade) {
        this.grade = grade;
    }

    public String getRoleId() {
        return roleId;
    }

    public void setRoleId(String roleId) {
        this.roleId = roleId;
    }

    public Integer getUserId() {
        return userId;
    }

    public void setUserId(Integer userId) {
        this.userId = userId;
    }

    public String getEmpId() {
        return empId;
    }

    public void setEmpId(String empId) {
        this.empId = empId;
    }

    public String getEmpNo() {
        return empNo;
    }

    public void setEmpNo(String empNo) {
        this.empNo = empNo;
    }

    public String getEmpName() {
        return empName;
    }

    public void setEmpName(String empName) {
        this.empName = empName;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public String getDeptId() {
        return deptId;
    }

    public void setDeptId(String deptId) {
        this.deptId = deptId;
    }

    public String getDeptName() {
        return deptName;
    }

    public void setDeptName(String deptName) {
        this.deptName = deptName;
    }

    public String getTel() {
        return tel;
    }

    public void setTel(String tel) {
        this.tel = tel;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public Boolean getFlagDeleted() {
        return flagDeleted;
    }

    public void setFlagDeleted(Boolean flagDeleted) {
        this.flagDeleted = flagDeleted;
    }

    public Integer getShowMessage() {
        return showMessage;
    }

    public void setShowMessage(Integer showMessage) {
        this.showMessage = showMessage;
    }

    public Integer getProjectManage() {
        return projectManage;
    }

    public void setProjectManage(Integer projectManage) {
        this.projectManage = projectManage;
    }

    public Long getJoinDate() {
        return joinDate;
    }

    public void setJoinDate(Long joinDate) {
        this.joinDate = joinDate;
    }

    public Integer getModifyArea() {
        return modifyArea;
    }

    public void setModifyArea(Integer modifyArea) {
        this.modifyArea = modifyArea;
    }

    public Boolean getProjectFollow() {
        return projectFollow;
    }

    public void setProjectFollow(Boolean projectFollow) {
        this.projectFollow = projectFollow;
    }

    public EmployeeVO() {
    }

    public EmployeeVO(Integer userId, String empId, String empNo, String empName,
                      String password, String deptId, String deptName, String tel,
                      String email, String status, Boolean flagDeleted, Integer showMessage,
                      Integer projectManage, Long joinDate, Integer modifyArea,
                      Boolean projectFollow, String roleId, String grade) {
        this.userId = userId;
        this.empId = empId;
        this.empNo = empNo;
        this.empName = empName;
        this.password = password;
        this.deptId = deptId;
        this.deptName = deptName;
        this.tel = tel;
        this.email = email;
        this.status = status;
        this.flagDeleted = flagDeleted;
        this.showMessage = showMessage;
        this.projectManage = projectManage;
        this.joinDate = joinDate;
        this.modifyArea = modifyArea;
        this.projectFollow = projectFollow;
        this.roleId = roleId;
        this.grade = grade;
    }

    @Override
    public String toString() {
        return "EmployeeVO{" +
                "userId=" + userId +
                ", empId='" + empId + '\'' +
                ", empNo='" + empNo + '\'' +
                ", empName='" + empName + '\'' +
                ", password='" + password + '\'' +
                ", deptId='" + deptId + '\'' +
                ", deptName='" + deptName + '\'' +
                ", tel='" + tel + '\'' +
                ", email='" + email + '\'' +
                ", status='" + status + '\'' +
                ", flagDeleted=" + flagDeleted +
                ", showMessage=" + showMessage +
                ", projectManage=" + projectManage +
                ", joinDate=" + joinDate +
                ", modifyArea=" + modifyArea +
                ", projectFollow=" + projectFollow +
                ", roleId=" + roleId +
                '}';
    }

    @Override
    public EmployeeVO clone() throws CloneNotSupportedException {
        return (EmployeeVO) super.clone();
    }
}
